import time


def computation_time(func):
    """
    装饰器函数，用于计算并打印函数执行时间。

    Examples:
        >>> @computation_time
        ... def example_function(n):
        ...     time.sleep(n)
        ...     return f"Slept for {n} seconds"

        >>> result = example_function(1)
        自动化测试执行耗时:1.01 s

        >>> result
        'Slept for 1 seconds'
    """

    def wrapper(*args, **kwargs):
        # 在函数执行前做一些事情
        start_time = time.time()
        # 调用原始函数
        result = func(*args, **kwargs)
        # 在函数执行后做一些事情
        end_time = time.time()
        print(f'自动化测试执行耗时:{round(end_time - start_time, 2)} s')
        # 返回原始函数的结果
        return result

    return wrapper


@computation_time
def demo():
    sums = 0
    for i in range(1, 100000000, 2):
        sums += i
    print(sums)


if __name__ == '__main__':
    # import doctest
    # doctest.testmod()
    demo()
